package jdk8的特性.函数式接口.过滤式案例;

import java.util.ArrayList;
import java.util.List;

/**
 * 作者：idea
 * 日期：2018/8/19
 * 描述：
 */
public class Test3 {

    public static <T> List<T> filter(List<T> list, Predicate<T> p){
        List<T> resultList=new ArrayList<>();
        for (T t : list) {
            if(p.test(t)){
                resultList.add(t);
            }
        }
        return resultList;
    }

    public static void main(String[] args) {
        List<Integer> integerList=new ArrayList<>();
        integerList.add(10);
        integerList.add(1);
        integerList.add(8);

        //lambda表达式里面的组成一般都是 参数列表 箭头 lambda主体
        List<Integer> resultList=filter(integerList,(Integer i) -> i%2==0);
        for (Integer integer : resultList) {
            System.out.println(integer);
        }
    }
}
